package com.jsb.laundry.common.enums;

/**
 * 省
 */
public enum UserAddressCity {

    北京市110000(110000, "北京市"),
    上海市310000(310000, "上海市"),
    天津市120000(120000, "天津市"),
    重庆市500000(500000, "重庆市"),
    河北省130000(130000, "河北省"),
    河南省410000(410000, "河南省"),
    山东省370000(370000, "山东省"),
    山西省140000(140000, "山西省"),
    内蒙古150000(150000, "内蒙古"),
    辽宁省210000(210000, "辽宁省"),
    吉林省220000(220000, "吉林省"),
    黑龙江省230000(230000, "黑龙江省"),
    江苏省320000(320000, "江苏省"),
    浙江省330000(330000, "浙江省"),
    安徽省340000(340000, "安徽省"),
    福建省350000(350000, "福建省"),
    江西省360000(360000, "江西省"),
    湖北省420000(420000, "湖北省"),
    湖南省430000(430000, "湖南省"),
    广东省440000(440000, "广东省"),
    广西自治区450000(450000, "广西自治区"),
    海南省460000(460000, "海南省"),
    四川省510000(510000, "四川省"),
    贵州省520000(520000, "贵州省"),
    云南省530000(530000, "云南省"),
    陕西省610000(610000, "陕西省"),
    甘肃省620000(620000, "甘肃省"),
    青海省630000(630000, "青海省"),
    宁夏自治区640000(640000, "宁夏自治区"),
    西藏自治区540000(540000, "西藏自治区"),
    新疆自治区650000(650000, "新疆自治区"),
    台湾省710000(710000, "台湾省"),
    香港行政区810000(810000, "香港行政区"),
    澳门行政区820000(820000, "澳门行政区"),

    ;
    private int id;
    private String types;
    private UserAddressCity( int id,String types) {
        this.types = types;
        this.id = id;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getTypes() {
        return types;
    }

    public void setTypes(String types) {
        this.types = types;
    }
    /**
     * 根据int类型的index,找到对应Type
     * @param index
     * @return
     */
    public static UserAddressCity stateOf(int index){
        for (UserAddressCity id:values()){
            if (id.getId()==index){
                return id;
            }
        }
        return null;
    }
    /**
     * 根据int类型的index,找到对应的String的值
     * @param index
     * @return
     */
    public static String valuesOf(int index){
        for (UserAddressCity id:values()){
            if (id.getId()==index){
                return id.getTypes();
            }
        }
        return "未知";
    }

    /**
     * 根据地区编号查询地区
     *
     * @param cityId 地区ID
     * @return
     */
    public static String findCityById(String cityId){
        for (UserAddressCity id:values()){
            if (id.getId()==Integer.parseInt(cityId)){
                return id.getTypes();
            }
        }
        return null;
    }

    /**
     * 根据地区查询地区编号
     *
     * @param cityName 地区名
     * @return
     */
    public static String findIdByCity(String cityName){
        for (UserAddressCity types:values()){
            if (types.getTypes().equals(cityName)){
                return String.valueOf(types.getId());
            }
        }
        return null;
    }

}
